package com.剑指offer.第五章;

import java.util.HashMap;

/**
 * 判断两个字符串是位词
 * 使用哈希表记录每个字符的出现次数
 */
public class 有效变位词 {


    public static boolean resolve(String str1, String str2) {

        if (str1.length() != str2.length()) {
            return false;
        }

        HashMap<Character, Integer> map = new HashMap<>();

        for (Character c : str1.toCharArray()) {
            map.put(c, map.getOrDefault(c, 0) + 1);
        }

        for (Character c : str2.toCharArray()) {
            if (!map.containsKey(c) || map.get(c) == 0) {
                return false;
            }
            map.put(c, map.get(c) - 1);
        }

        return true;
    }


    public static void main(String[] args) {

    }

}
